/**
 *	@file	telseq_utsugi.c
 *	@brief	ウツギ　会話データ抽選＆再生
 *	@author	Miyuki Iwasawa
 *	@date	09.02.06
 */

#include "common.h"
#include "system/procsys.h"
#include "system/arc_util.h"
#include "system/arc_tool.h"
#include "system/bmp_list.h"
#include "system/bmp_menu.h"
#include "system/pm_str.h"
#include "system/msgdata.h"
#include "system/fontproc.h"
#include "system/snd_tool.h"
#include "system/buflen.h"
#include "system/pm_rtc.h"
#include "gflib/touchpanel.h"
#include "field/eventflag.h"
#include "field/evwkdef.h"
#include "field/syswork.h"
#include "fielddata/script/saveflag.h"
#include "itemtool/itemsym.h"
#include "msgdata/msg.naix"
#include "msgdata/msg_pg_tel.h"

#include "../pm_tel.h"
#include "tel/pmtel_def.h"
#include "tel/pmtel_datman.h"
#include "tel/pmtel_dat_def.h"
#include "../pmtel_seq.h"
#include "telseq_play.h"

//イベント強制電話テーブル
static const TELD_PLAYL_SET PMTelPlayL_UtsugiEv[] = {
 {TEL_SEQ_SIMPLE,TEL_TK_UTSUGI_EV01},
 {TEL_SEQ_SIMPLE,TEL_TK_UTSUGI_EV02},
 {TEL_SEQ_SIMPLE,TEL_TK_UTSUGI_EV03},
 {TEL_SEQ_SIMPLE,TEL_TK_UTSUGI_EV04},
 {TEL_SEQ_SIMPLE,TEL_TK_UTSUGI_EV05},
 {TEL_SEQ_SIMPLE,0},
};

/*
 *	@brief	電話　ウツギの会話抽選
 */
u16 PMTelPlayL_Utsugi(PMTEL_DATA_MAN* man,PMTEL_TALK_WORK* twk)
{
	u8	badge_num;
	u8	togepii_hatch = FALSE,togepii_show = FALSE;

	if(twk->ev_type == TEL_RECEIVE_EVENT){	//イベント着信
		twk->seq_code = PMTelPlayL_UtsugiEv[twk->ev_id].seq_code;
		return PMTelPlayL_UtsugiEv[twk->ev_id].seq_no;
	}

	//ノーマル着信
	if(twk->is_receive){
		twk->seq_code = TEL_SEQ_SIMPLE;
		return twk->ev_id;
	}

	//ノーマル発信
	twk->seq_code = TEL_SEQ_SIMPLE;

	badge_num = MyStatus_GetBadgeCount(man->my_sv);
	//同一マップにいるか？
	if(twk->pbk->map_id == man->zone_id)	{
		return TEL_TK_UTSUGI_NE;
	}
	//ポケモン盗難電話を受けるまで
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_R30_UTSUGI_TEL)){
		return TEL_TK_UTSUGI_B_ZUKAN_GET;
	}
	//ライバル名を入力してない
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_RIVAL_NAME_INPUT)){
		return TEL_TK_UTSUGI_B_RIVAL_NAME;
	}
	//キキョウジムクリア直後に「タマゴ貰ってね」の電話を受ける前
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_TAMAGO_GET)){
		return TEL_TK_UTSUGI_B_KIKYOU_GYM;
	}
	//キキョウでタマゴをもらってない
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_T22FS0101_EGG_GET)){
		return TEL_TK_UTSUGI_B_EGG_GET;
	}

	//タマゴ貰う前↑
	//--------------------------------------------------------------------------
	//タマゴ貰った後↓

	//タマゴ孵化チェック
	togepii_hatch = EventWork_CheckEventFlag(man->ev_sv,SYS_FLAG_UTSUGI_TOGEPII_HATCHED);
	//トゲピーをウツギに見せた
	togepii_show = EventWork_CheckEventFlag(man->ev_sv,FE_IS_UTSUGI_TOGEPII_SHOW);

	//バッジ7個未満
	if(badge_num < 7){
		//トゲピータマゴ孵化前
		if(!togepii_hatch){
			return TEL_TK_UTSUGI_B_EGG_HATCH;	//タマゴに変化があったら電話ちょうだい
		}
		//↓タマゴ孵化後

		//ウツギにトゲピー見せた？
		if(!togepii_show){
			return TEL_TK_UTSUGI_EGG_HATCH;
		}else{
			return TEL_TK_UTSUGI_A_EGG_HATCH01+gf_rand()%2;
		}
	}
	//ラジオ塔占拠イベント中？
	if(SysWork_CheckDuaringTheRadioTowerEvent(man->ev_sv)){
		return TEL_TK_UTSUGI_W_RADIO_TOWER;
	}
	//バッチ8個取るまで
	if(badge_num < 8){
		return TEL_TK_UTSUGI_B_BADGE_GET8;
	}
	//ゲームクリアするまで
	if(!SysFlag_GameClearCheck( man->ev_sv)){
		return TEL_TK_UTSUGI_B_GAME_CLEAR;
	}
	//↓クリア後

	//船のチケット貰うまで
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_SHIP_TICKET)){
		return TEL_TK_UTSUGI_B_TICKET_GET;
	}

	//シナリオ誘導終わったので、もう一度トゲピーチェック復活

	if(!togepii_show){	//まだトゲピーをウツギに見せてなかったら
		//トゲピーが孵化しているかどうかで話題を分岐
		if(!togepii_hatch){
			return TEL_TK_UTSUGI_B_EGG_HATCH;	//タマゴに変化があったら電話ちょうだい
		}else{
			return TEL_TK_UTSUGI_EGG_HATCH;	//生まれたなら見せにきてよ
		}
	}
	//雑談↓

	//ポケルスが発生したかどうかで、雑談の内容に制限をかける
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_PC_POKERUS)){
		return TEL_TK_UTSUGI_A_TICKET_GET01 + gf_rand()%2;
	}
	return TEL_TK_UTSUGI_A_TICKET_GET01 + gf_rand()%3;
#if 0
	//バッジ7個未満
	if(badge_num < 7){
		//タマゴ孵化前
		if(!EventWork_CheckEventFlag(man->ev_sv,SYS_FLAG_UTSUGI_TOGEPII_HATCHED)){
			return TEL_TK_UTSUGI_B_EGG_HATCH;
		}
		//↓タマゴ孵化後

		//ウツギにトゲピー見せた？
		if(!EventWork_CheckEventFlag(man->ev_sv,FE_IS_UTSUGI_TOGEPII_SHOW)){
			return TEL_TK_UTSUGI_EGG_HATCH;
		}else{
			return TEL_TK_UTSUGI_A_EGG_HATCH01+gf_rand()%2;
		}
	}
	//ラジオ塔占拠イベント中？
	if(SysWork_CheckDuaringTheRadioTowerEvent(man->ev_sv)){
		return TEL_TK_UTSUGI_W_RADIO_TOWER;
	}
	//バッチ8個取るまで
	if(badge_num < 8){
		return TEL_TK_UTSUGI_B_BADGE_GET8;
	}
	//ゲームクリアするまで
	if(!SysFlag_GameClearCheck( man->ev_sv)){
		return TEL_TK_UTSUGI_B_GAME_CLEAR;
	}
	//↓クリア後

	//船のチケット貰うまで
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_SHIP_TICKET)){
		return TEL_TK_UTSUGI_B_TICKET_GET;
	}
	//ポケルスが発生したか？
	if(!EventWork_CheckEventFlag(man->ev_sv,FE_PC_POKERUS)){
		return TEL_TK_UTSUGI_A_TICKET_GET01 + gf_rand()%2;
	}
	return TEL_TK_UTSUGI_A_TICKET_GET01 + gf_rand()%3;
#endif
}
